Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## rdlc.rdl
Class Field_Named

    java.lang.Object
      rdlc.rdl.Field_Named

All Implemented Interfaces:
  Expression, Field

Direct Known Subclasses:
  AttributeField, Field_Base, MapEntry, ModuleInstance_Indirect, ModuleLogic, ModuleParameter, ModuleWire, PlatformLink, PlatformPort, PluginField, Type_Base, UnitChannel, UnitExternal, UnitPort

    public abstract class Field_Named

extends java.lang.Object
implements Field

This is a helper class which implements much of the base functionality of a `Field`, making the actual implementations cleaner. This is very much analogous to the functionality provided in the `Declaration_Named` class, and in fact includes some of the same code.

Version:
  $Revision: 1.15 $
Author:
  Greg Gibeling

Nested Class Summary

Nested classes/interfaces inherited from interface rdlc.rdl.Expression
`Expression.Phase`

Field Summary
`protected Identifier<Field>` | `iName` The resolved identifier name of this field.
`protected Instance` | `instance` The instance in which this field was declared.
`protected Namespace` | `namespace` The namespace in which this field was declared.
`protected RawDynamicIdentifier` | `rawDynamicID` The dynamic identifier which was used to name this field in the source RDL.

Constructor Summary
`protected` | `Field_Named()` Base constructor, does nothing.
`protected` | `Field_Named(java.lang.String name, Instance _instance)` Constructor for instance copy.

Method Summary
`Identifier<Field>` | `getIdentifier()` Simple accessor.
`RawDynamicIdentifier` | `getRawDynamicID()` Simple accessor.
`void` | `getRequirements(CatalogSet<Identifier<Declaration>> requirements)` A normal field has no requirements.
`void` | `resolve(java.util.HashSet<Declaration> markSet, Log errorLog, Expression.Phase phase)` Resolve the qualified name of this field, if we need to do so.
`void` | `setInstance(Instance _instance)` Simple accessor.
`void` | `setNamespace(Namespace _namespace)` Simple accessor.
`void` | `setRawDynamicID(RawDynamicIdentifier _rawDynamicID)` Simple accessor.
`java.lang.String` | `toString()` Simple accessor.
`boolean` | `typeMatch(Expression e)` Fields can never match in type.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface rdlc.rdl.Field
`copy`

Field Detail

### namespace

    protected Namespace namespace

  The namespace in which this field was declared.

### instance

    protected Instance instance

  The instance in which this field was declared.

### rawDynamicID

    protected RawDynamicIdentifier rawDynamicID

  The dynamic identifier which was used to name this field in the source RDL. This class's primary job is to store and resolve this.

### iName

    protected Identifier<Field> iName

  The resolved identifier name of this field.

Constructor Detail

### Field_Named

    protected Field_Named()

  Base constructor, does nothing.

### Field_Named

    protected Field_Named(java.lang.String name,
                          Instance _instance)

  Constructor for instance copy. This constructor allows us to bypass the name resolution code, when it is unnessecary.

  Parameters:
    `name` - The name for this copy (should be the same as the original.
    `_instance` - The instance this copy will be a member of.

Method Detail

### toString

    public java.lang.String toString()

  Simple accessor.

  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    A human readable version of this fields name for debugging.

### getRawDynamicID

    public RawDynamicIdentifier getRawDynamicID()

  Simple accessor. Used by instances during add().

  Returns:
    The raw dynamic identifier with which this field was declared.
  See Also:
    `Instance.add(Field_Named)`

### setRawDynamicID

    public void setRawDynamicID(RawDynamicIdentifier _rawDynamicID)

  Simple accessor. Used during normal parsing.

  Specified by:
    `setRawDynamicID` in interface `Field`
  Parameters:
    `_rawDynamicID` - Set the raw dynamic identifier with which this field is declared.

### setInstance

    public void setInstance(Instance _instance)

  Simple accessor. Used during normal parsing. Note that this also takes care of regenerating the identifier, as might be required during field/instance copy.

  Specified by:
    `setInstance` in interface `Field`
  Parameters:
    `_instance` - The instance in which this field was declared.
  See Also:
    `Instance#copySubInstance(HashSet, Log, Phase)`

### getIdentifier

    public Identifier<Field> getIdentifier()

  Simple accessor.

  Specified by:
    `getIdentifier` in interface `Field`
  Returns:
    The identifier which names this field.
  See Also:
    `Field.getIdentifier()`

### setNamespace

    public void setNamespace(Namespace _namespace)

  Simple accessor. Used during normal parsing.

  Specified by:
    `setNamespace` in interface `Expression`
  Parameters:
    `_namespace` - The namespace in which this field was declared.

### resolve

    public void resolve(java.util.HashSet<Declaration> markSet,
                        Log errorLog,
                        Expression.Phase phase)

  Resolve the qualified name of this field, if we need to do so.

  Specified by:
    `resolve` in interface `Expression`
  Parameters:
    `markSet` - Complete hash set of declarations on which the caller depends (including itself).
    `errorLog` - Log of errors to be reported to the user.
    `phase` - The phase of resolution to perform.
  See Also:
    `Expression.resolve(HashSet, Log, Phase)`

### typeMatch

    public boolean typeMatch(Expression e)

  Fields can never match in type.

  Specified by:
    `typeMatch` in interface `Expression`
  Parameters:
    `e` - The expression to check this one against.
  Returns:
    Always `false`.

### getRequirements

    public void getRequirements(CatalogSet<Identifier<Declaration>> requirements)

  A normal field has no requirements.

  Specified by:
    `getRequirements` in interface `Expression`
  Parameters:
    `requirements` - A list to which this will add the declarations upon which this one relies.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD